Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2020-onlyarxiv-[MixPUL] Consistency-based Augmentation for Positive and Unlabeled Learning

https://arxiv.org/abs/2004.09388

Arxivにしかないので信頼度はある程度差し置いたほうがいい。

Introduction

この論文では、一貫性を保つようなmixupを用いたData Augmentation手法を開発。class priorの知識不要で、Uの中から信頼できるNを見つけ出してそれでMixupをするらしい。

問題設定

  • データはxXRd\mathbf{x} \in X \subseteq \mathbb{R}^dであり、Ground Truthがy=+1y=+1ならPositiveで、y=1y=-1ならNegative。
  • 実際に与えられるのはyyではなく、s=0,1s=0, 1。0ならばラベルなしで、1ならばラベルがPである。
  • サンプリングはCase-control(2 set)であり、Class Priorはπ=Pr(y=1)\pi = Pr(y=1)である。
  • UはpU=πpP+(1π)pNp_U = \pi p_P + (1 - \pi)p_Nの混合分布である。
  • 識別器はggでlogitを出力。これをcalibrationするのはsigmoid関数のff
  • Mix-upとは、λBeta(α,α)\lambda \sim \mathrm{Beta}(\alpha, \alpha)の値を取り出して、以下のようにサンプル値とラベルも合成する手法で、以下の等式が成り立つだろうという期待。
xmix=λxa+(1λ)xbf(g(xmix))λf(g(xa))+(1λ)f(g(xa))\mathbf{x}_{mix} = \lambda \mathbf{x}_a + (1 - \lambda) \mathbf{x}_b \\ f(g(\mathbf{x}_{mix})) \approx \lambda f(g(\mathbf{x}_a)) + (1 - \lambda) f(g(\mathbf{x}_a))

Method

PU LearningにMixupする

各Minibatchとして、XP,XUX_P, X_Uが渡される。

ラベルはこのデータ(目的関数でPとN、U同士などがある)に対して、識別器のパラメタの移動平均を用いた識別器の出力f(g(xu))f(g(\mathbf{x}_u))

このようにData AugmentationしたXUXUX_U \to X_U^\primeを得る。

信頼できるNegative例の抽出

先ほどの前提は、ある程度正しい識別ができるということ。

これをするには、Semi-supervised Learningで、ある程度信頼できるNを選んて、PN Learningで事前に訓練する必要がある。

この研究では以下の3種類の信頼できるNの選び方を考えた。

  • Rand: ランダムに選ぶ。
  • Dist: 与えられたPデータからの平均距離が最も遠い順に選ぶ。
  • NTC: 事前にPU Learningの識別器を訓練し、それでNである可能性が非常に高いデータを選ぶ。

例えばNTCを使うなら、PU識別器を訓練→信頼できるNを選ぶ→選んだNでPNで訓練→ある程度訓練して信頼できたら、PUでUをmixupしながら訓練という非常に手間かかることになる。

アルゴリズム

流れとしては、以下のようになる。

  1. 先ほどの提案した手法などで、信頼できるNを選ぶ。
  2. Semi-supervised Learningを用いて、信頼できるNと与えられたPである程度学習する。
  3. UをmixupしながらPU Learningする。

この時、ステップ3の損失は以下のように設計する。

L=LPN+βLU+γLPUL = L_{PN} + \beta L_{U} + \gamma L_{PU}

LPNL_{PN}: 与えられたPと信頼できるNでmixupして2乗損失で計算。

Image in a image block

LUL_U: U同士でmixupして2乗損失で計算。

Image in a image block

LPUL_{PU}: PとUについて、 📄Arrow icon of a page link2017-NIPS-[nnPU] Positive-Unlabeled Learning with Non-Negative Risk Estimator似ているが違うメカニズム(不偏推定量なんて考えていない)を用いて、clippingを使うことで過学習を防いでいるη\etaはハイパラである。+|\cdot |_+はここではmax(,0)\max(\cdot, 0)という意味。小さくても0にする。

Image in a image block

役割としては、LPN,LUL_{PN}, L_{U}はmixupによる正則化項、最後のLPUL_{PU}は本体ということ。

Experiments

  • MNIST, CIFAR10で実験。
  • η\etaは必要。